package org.dromara.web.domain.dto;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.Builder;

import java.util.List;
import java.util.Map;

/**
 * Dify API 请求数据传输对象
 *
 * @author system
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class DifyRequestDto {

    /**
     * 输入参数
     */
    private Map<String, Object> inputs;

    /**
     * 查询内容
     */
    private String query;

    /**
     * 响应模式：blocking（阻塞）或 streaming（流式）
     */
    private String responseMode;

    /**
     * 会话ID
     */
    private String conversationId;

    /**
     * 用户标识
     */
    private String user;

    /**
     * 文件列表
     */
    private List<DifyFileDto> files;

    private String userId;

    /**
     * 文件信息
     */
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @Builder
    public static class DifyFileDto {
        /**
         * 文件类型
         */
        private String type;

        /**
         * 传输方式
         */
        private String transferMethod;

        /**
         * 文件URL
         */
        private String url;
    }
}
